1. Field of the Invention
The invention relates to digital signal processing, and, in particular, to data-encoding methods such as low-density parity check (LDPC) coding.
2. Description of the Related Art
Communication is the transmission of information from a transmitter to a receiver over a communications channel. In the real world, the communications channel is a noisy channel, providing to the receiver a distorted version of the information transmitted from the transmitter. A storage device (e.g., hard disk (HD) drive, flash drive) is one such noisy channel, accepting information from a transmitter, storing that information, and then providing a more or less distorted version of that information to a receiver.
The distortion introduced by a communications channel such as a storage device might be great enough to cause a channel error, i.e., where the receiver interprets the channel output signal as a 1 when the channel input signal was a 0, or vice versa. Channel errors reduce throughput and are thus undesirable. Hence, there is an ongoing need for tools that detect and/or correct channel errors. Low-density parity check (LDPC) coding is one method for the detection and correction of channel errors.
LDPC codes are among the known near-Shannon-limit codes that can achieve very low bit-error rates (BER) for low signal-to-noise ratio (SNR) applications. LDPC decoding is distinguished by its potential for parallelization, low implementation complexity, low decoding latency, as well as less-severe error floors at high SNRs. LDPC codes are considered for virtually all the next-generation communication standards.
Interleaving is another technique commonly used in communications systems to overcome correlated channel noise such as burst errors or fading. An interleaver rearranges input data such that consecutive bits in the input data are located in non-consecutive locations in the output data. At the receiver, a deinterleaver rearranges the interleaved data back into the original sequence. As a result of interleaving, correlated noise introduced in the transmission channel appears to be statistically independent at the receiver and thus allows better error correction.
Communications systems can use parallel processing to reduce encoding/decoding time. In a typical implementation, the system comprises x subword encoders and x subword decoders. The system separates an original user word into x user subwords, encodes each user subword with a separate subword encoder, decodes each encoded subword with a separate subword decoder, and recombines the recovered user subwords into a recovered user word. Such a system is known as a subwords coding system, and the process performed by the system is subwords coding. Subwords are also known as component codewords.